package com.aust.lambda;

/**
 * Java 中传递的是“值”还是“引用”？
 * Java 中一切 都是按值传递，但：
 * 类型	                        传递的是
 * 基本类型（int、double）	        传的是值本身
 * 引用类型（对象）	            传的是“引用的值”，也就是对象的地址（引用变量的副本）
 * 📌 所以如果你在方法中修改对象的字段，外部对象会改变；
 * 但如果你重新给参数赋值为另一个对象，外部不会变。
 */
public class TestLambda2 implements Runnable {
    @Override
    public void run() {
        System.out.println("Hello Lambda");
    }

    public static void main(String[] args) {
        new Thread(new TestLambda2()).start();
    }
}
/**
 * 类型               | 示例                        | 能否影响外部变量      | 使用场景
 * 基本类型            | update(int x)              | ❌ 不影响原变量      | 传值计算
 * 引用类型（不可变）    | update(String name)       | ❌ 字符串不可变      | 只读、拼接
 * 引用类型（对象）     | update(User u)            | ✅ 可改变字段       | 实体对象交互
 * 集合               | update(List<User> users) | ✅ 可增删改         | 数据批量处理
 */
